Cloud Build から push する試み
git イメージで clone する
github app で trigger してやってくるのは git リポジトリではない(.git は無い)
git ユーザ情報を設定する(コミットログを作るために必要)
差分があれば変更をコミットする
push するには認証が要る
公式ドキュメントでは ssh 秘密鍵をストアして volume に置いてる
ちょっと面倒だし、github personal access token でやりたい
アクションは制限できるけど、リポジトリの制限ができないな
Deploy Keys のほうがいいかも?
よさそう
シークレットマネージャーに ssh 秘密鍵を保存する例
シークレットマネージャーから取得した値はファイルに書かれる
シークレットマネージャと KMS の例
KMS で復号した値を環境変数に設定するのは Cloud Build の secrets フィールドでサポートされる
環境変数にそのまま設定されるので楽、暗号化された文字列を cloudbuild.yaml に埋める必要がある
シークレット マネージャーは、Cloud Build で機密データを管理するためのおすすめの方法です。既存のプロジェクトに引き続き Cloud KMS を使用しても構いませんが、新しいプロジェクトではシークレット マネージャーを使用します。
とのことなので、KMS よりシークレットマネージャのほうがおすすめらしい
github https の push/pull でも使える
git credential fill で作れるけど、https://user:password@example.com のような文字列でストアされるので、そのまま Secret Manager に保存して配置すればよい
code:credential-store
$ cat <<EOS | git credential-store --file ./hoge store
protocol=https
host=example.com
username=hoge
password=fuga
EOS
$ cat hoge